Use the proper screen in _gdk_windowing_get_shape_for_mask()
authorClaudio Saavedra <csaavedra@igalia.com>
Thu, 15 Apr 2010 21:12:29 +0000 (00:12 +0300)
committerClaudio Saavedra <csaavedra@igalia.com>
Mon, 19 Apr 2010 15:51:27 +0000 (18:51 +0300)
Bug 615853 - BadMatch when pressing keyboard volume keys while pointer in
             secondary X screen

_gdk_windowing_get_shape_for_mask() is using the default screen, not taking
into account that its GdkBitmap could have been created for a different one,
causing BadMatch errors.

gdk/x11/gdkwindow-x11.c

index 1771873218b0888580c951365d089f699a7169ee..e2dd131f3b8e472d991033ddb25cc636f9c0948b 100644 (file)
@@ -4649,7 +4649,7 @@ _gdk_windowing_get_shape_for_mask (GdkBitmap *mask)
   display = gdk_drawable_get_display (GDK_DRAWABLE (mask));
 
   window = XCreateSimpleWindow (GDK_DISPLAY_XDISPLAY (display),
-                                GDK_SCREEN_XROOTWIN (gdk_display_get_default_screen (display)),
+                                GDK_SCREEN_XROOTWIN (gdk_drawable_get_screen (mask)),
                                 -1, -1, 1, 1, 0,
                                 0, 0);
   XShapeCombineMask (GDK_DISPLAY_XDISPLAY (display),